package 每日一题;

/**
 * @description:
 * @author: 小白白
 * @create: 2021-11-21
 **/

public class No520检测大写字母 {

    /**
     * 我们定义，在以下情况时，单词的大写用法是正确的：
     * 全部字母都是大写，比如 "USA" 。
     * 单词中所有字母都不是大写，比如 "leetcode" 。
     * 如果单词不只含有一个字母，只有首字母大写， 比如 "Google" 。
     * 给你一个字符串 word 。如果大写用法正确，返回 true ；否则，返回 false 。
     * <p>
     * 示例 1：
     * 输入：word = "USA"
     * 输出：true
     * 示例 2：
     * 输入：word = "FlaG"
     * 输出：false
     * <p>
     * 提示：
     * 1 <= word.length <= 100
     * word 由小写和大写英文字母组成
     */

    public boolean detectCapitalUse(String word) {

        int bigCount = 0;

        char[] arr = word.toCharArray();

        for (char c : arr) {
            if (Character.isUpperCase(c)) {
                bigCount++;
            }
        }

        if (bigCount == 0) {
            return true;
        }

        if (bigCount == arr.length) {
            return true;
        }

        if (bigCount == 1 && Character.isUpperCase(arr[0])) {
            return true;
        }

        return false;
    }

}
